# 连接 add 和 utils 库
# 在 CMake 的 target_link_libraries() 命令中，PRIVATE 和 PUBLIC 用于控制 依赖关系的可见性，即：
# PRIVATE：仅对当前目标（可执行文件或库）有效，不会传递给依赖它的其他目标。
# PUBLIC：不仅对当前目标有效，还会传递给依赖它的其他目标。

# 查找 OpenCV 库
find_package(OpenCV REQUIRED)

# 包含 OpenCV 头文件
include_directories(${OpenCV_INCLUDE_DIRS})


add_executable(test_add test_add.cpp)
target_link_libraries(test_add PRIVATE add utils PUBLIC -lcudart -lcudadevrt)


add_executable(test_mul test_mul.cpp)
target_link_libraries(test_mul PRIVATE  PUBLIC mul utils -lcudart -lcudadevrt)


add_executable(test_matmul test_matmul.cpp)
target_link_libraries(test_matmul PRIVATE  PUBLIC matmul utils -lcudart -lcudadevrt)


add_executable(test_resizepadcvtcolor test_resizepadcvtcolor.cpp)
target_link_libraries(test_resizepadcvtcolor PRIVATE  PUBLIC resizepadcvtcolor utils -lcudart -lcudadevrt ${OpenCV_LIBS})

add_executable(test_resizepad_cvtcolor_nhwc2nchw_normlize test_resizepad_cvtcolor_nhwc2nchw_normlize.cpp)
target_link_libraries(test_resizepad_cvtcolor_nhwc2nchw_normlize PRIVATE  PUBLIC resizepad_cvtcolor_nhwc2nchw_normlize utils -lcudart -lcudadevrt ${OpenCV_LIBS})
